﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DTO;
using BUS;
namespace GUI
{
    public partial class LichBay : Form
    {
        public List<LichBay_DTO> ds = LichBay_BUS.layDanhSachLichBay();
        public LichBay()
        {
            InitializeComponent();
        }
        public void HienThi(List<LichBay_DTO > ds)
        {

            dataGridView1.Rows.Clear();
            for (int i = 0; i < ds.Count; i++)
            {
                dataGridView1.Rows.Add(ds[i].maLB, ds[i].maCB, ds[i].ngayDi, ds[i].ngayDen );
            }
            
        }




        private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
        {
            DateTime ngayDi = DateTime.Parse(dateTimePicker1.Value.ToShortDateString());
            ds = LichBay_BUS.layLichBayTheoNgayDi(ngayDi);
            HienThi(ds);
        }

        private void dateTimePicker2_ValueChanged(object sender, EventArgs e)
        {
            DateTime ngayDen = DateTime.Parse(dateTimePicker2.Value.ToShortDateString());
            ds = LichBay_BUS.layLichBayTheoNgayDi(ngayDen);
            HienThi(ds);
        }

        private void btThem_Click(object sender, EventArgs e)
        {
            LichBay_DTO lichBay = new LichBay_DTO();
            lichBay.maLB = this.textBox1.Text;
            lichBay.maCB = this.textBox2.Text;
            DateTime ngayDi = DateTime.Parse(dateTimePicker1.Value.ToShortDateString());
            DateTime ngayDen = DateTime.Parse(dateTimePicker2.Value.ToShortDateString());
            int result = LichBay_BUS.themLichBay(lichBay);
            if (result == 0)
                MessageBox.Show("Xin lỗi, đã thêm thất bại. Xin bạn vui lòng thử lại.");
            if (result == 1)
                MessageBox.Show("Thêm thành công!");
            if (result == 2)
                MessageBox.Show("Xin lỗi, đã tồn tại lịch bay này. Xin bạn vui lòng thử lại với một sân bay khác.");
     

            HienThi(ds);
        }

        private void btXoa_Click(object sender, EventArgs e)
        {
            if (dataGridView1.CurrentRow != null)
            {
                String maLB = dataGridView1.CurrentRow.Cells["Mã lịch bay"].Value.ToString();
                DialogResult dr = MessageBox.Show("Bạn có chắc muốn xóa lịch bay", "?" , MessageBoxButtons.YesNo, MessageBoxIcon.Warning );
                if (dr == DialogResult.Yes)
                {
                    bool result = LichBay_BUS.xoaLichBay(maLB);
                    if (result == false)
                        MessageBox.Show("Xin lỗi, chúng tôi không thể xóa lich bay này!", "Xin vui lòng kiểm tra lại thông tin.", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    MessageBox.Show("Xóa thành công!!!");

                    //Cập nhật lại danh sách
                    dataGridView1.Rows.Clear();
                    List<LichBay_DTO> ds = LichBay_BUS.layDanhSachLichBay();
                    for (int i = 0; i < ds.Count; i++)
                    {
                        dataGridView1.Rows.Add(ds[i].maLB, ds[i].maCB, ds[i].ngayDi, ds[i].ngayDen);
                    }
                }
            }
        }

        private void btSua_Click(object sender, EventArgs e)
        {
            
                LichBay_DTO lichBay = new LichBay_DTO();
                lichBay.maLB = this.textBox1.Text;
                lichBay.maCB = textBox2.Text;
                lichBay.ngayDi = DateTime.Parse(dateTimePicker1.Value.ToShortDateString());
                lichBay.ngayDen = DateTime.Parse(dateTimePicker2.Value.ToShortDateString());
                DialogResult dr = MessageBox.Show("Bạn có chắc muốn sửa thông tin lịch bay này", "?", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
                if (dr == DialogResult.Yes)
                {
                    bool result = LichBay_BUS.suaLichBay(lichBay);
                    if (result == false)
                        MessageBox.Show("Thất bại!", "Xin bạn vui lòng kiểm tra lại thông tin!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    else MessageBox.Show("Đã sửa thành công!");
                }
                //Cập nhật lại danh sách lịch bay
                dataGridView1.Rows.Clear();
                List<LichBay_DTO> ds = LichBay_BUS.layDanhSachLichBay();
                for (int i = 0; i < ds.Count; i++)
                    dataGridView1.Rows.Add(ds[i].maLB, ds[i].maCB, ds[i].ngayDi, ds[i].ngayDen);
            
           

        }

        private void btReset_Click(object sender, EventArgs e)
        {
            textBox1.Text = "";
            textBox2.Text  = "";
        }

        private void btThoat_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            Application.Restart();
        }

        

       

    }
}
